package com.hzhc.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hzhc.entity.SysWxMenu;
import com.hzhc.entity.UserMember;
import com.hzhc.vo.UserMemberVo;
import com.hzhc.vo.YwOrderCntrAuditVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 用户会员表 Mapper 接口
 * </p>
 *
 * @author 功不唐捐
 * @since 2023-11-08
 */
public interface UserMemberMapper extends BaseMapper<UserMember> {

    IPage<UserMemberVo> getUserMemberList(Page<UserMemberVo> page, @Param("vo") UserMemberVo vo);

    List<SysWxMenu> selectSyswxMenuTree( @Param("memberId") Long memberId, @Param("title") String title);

    List<UserMemberVo> getCompanyUserList(@Param("vo")UserMemberVo vo);

    List<UserMember> getDriverList();

    List<UserMemberVo> getYzsDriverList(@Param("vo") UserMemberVo vo);

    IPage<UserMemberVo> getDriverPageList(Page<UserMemberVo> page,@Param("vo") UserMemberVo vo);

    List<UserMemberVo> getSendMsgUserIds(List<String> comIds,@Param("planId") Integer planId);

    List<UserMember> selectDrivers();

    List<UserMemberVo> selectAllUser(@Param("vo")YwOrderCntrAuditVo vo);

    UserMember getByDriverName(@Param("driverName") String driverName,@Param("companyId") String companyId);

    List<UserMember> getAllByComName(@Param("companyName") String companyName);

    UserMember findUserById(Long id);
}
